package com.tiancheng.trade.settlement.mapper.settlement;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tiancheng.trade.settlement.exception.BusinessException;
import com.tiancheng.trade.settlement.mapper.TYBaseMapper;
import com.tiancheng.trade.settlement.vo.settlement.admin.SettlementReconQueryVO;
import com.tiancheng.trade.settlement.vo.settlement.admin.SettlementReconRepVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface SettlementBillReconMapper extends TYBaseMapper<SettlementReconRepVO> {

    /**
     * 汇总对账信息
     *
     * @param detailVO
     * @return
     */
    IPage<SettlementReconRepVO> getSettlementReconReport(Page<?> page, @Param("vo") SettlementReconQueryVO detailVO) throws BusinessException;

    /**
     * 汇总对账信息
     * 清分结果子订单结果
     *
     * @param detailVO
     * @return
     */
    List<String> getResultSubOrderId(@Param("vo") SettlementReconQueryVO detailVO) throws BusinessException;

    /**
     * 汇总对账信息
     * 银行子订单结果
     *
     * @param detailVO
     * @return
     */
    List<String> getBankSubOrderId(@Param("vo") SettlementReconQueryVO detailVO) throws BusinessException;

    /**
     * 汇总对账信息导出使用
     *
     * @param detailVO
     * @return
     */
    List<SettlementReconRepVO> getSettlementReconReport(@Param("vo") SettlementReconQueryVO detailVO) throws BusinessException;

}
